#!/bin/bash

# 步骤1: 部署后端代码到生产服务器

set -e

SERVER_IP="47.237.10.129"
SERVER_USER="root"
REMOTE_DIR="/var/www/cumrbull-api"

echo "=== 步骤1: 部署后端代码 ==="

# 1. 打包后端文件
echo "打包后端文件..."
cd backend
tar -czf ../backend-deploy.tar.gz .
cd ..

echo "后端文件打包完成: backend-deploy.tar.gz"

# 2. 创建服务器目录
echo "在服务器上创建目录..."
ssh $SERVER_USER@$SERVER_IP "mkdir -p $REMOTE_DIR"

# 3. 上传文件到服务器
echo "上传文件到服务器..."
scp backend-deploy.tar.gz $SERVER_USER@$SERVER_IP:$REMOTE_DIR/

# 4. 在服务器上解压和安装
echo "在服务器上解压和安装依赖..."
ssh $SERVER_USER@$SERVER_IP << EOF
    cd $REMOTE_DIR
    tar -xzf backend-deploy.tar.gz
    rm backend-deploy.tar.gz
    
    # 安装Node.js 18 (如果未安装)
    if ! command -v node &> /dev/null; then
        curl -fsSL https://deb.nodesource.com/setup_18.x | bash -
        apt-get install -y nodejs
    fi
    
    # 安装PM2 (如果未安装)
    if ! command -v pm2 &> /dev/null; then
        npm install -g pm2
    fi
    
    # 安装项目依赖
    npm install --production
    
    # 复制环境配置
    cp .env.production .env
    
    echo "后端部署完成！"
EOF

# 5. 清理本地临时文件
rm backend-deploy.tar.gz

echo "=== 后端代码部署完成 ==="
echo "下一步: 运行 ./deploy-step2-nginx.sh 配置Nginx"